/**
 * 
 */
package bancosys.tec.services.implementor.type;

import java.io.IOException;
import java.math.BigDecimal;
import java.util.List;

import jmine.tec.di.annotation.Injected;
import jmine.tec.services.annotations.Output;
import jmine.tec.services.annotations.ServiceImplementor;
import jmine.tec.services.annotations.Validation;
import jmine.tec.services.api.ActionsEnum;

@ServiceImplementor(action = ActionsEnum.ALTERAR, executeMethodName = "execute")
public class WildSub<E extends Number> extends GenericClass<E> {

    public void setWildList2(List<? extends BigDecimal> a) {
        // vazio
    }

    public void setFixedList(List<BigDecimal> a) {
        // vazio
    }

    @Output(propertyName = "saida")
    public int execute(@Injected Object any) {
        assertNotNull(any);
        this.setExecuted();
        return 1;
    }

    @Validation()
    public void randomValidate() throws Exception {
        throw new IOException("ioexception");
    }

    @Validation(validateRuntimeException = true)
    public void randomValidateRuntime() throws Exception {
        throw new RuntimeException("runtimeexception");
    }

}